package com.ys.utils.redis.key;

/**
 * @author quxinjun
 * @version 1.0.0
 * @ClassName GroupKey.java
 * @Description 群的缓存 key 值
 * @createTime 2021年05月13日 20:27:00
 */
public class GroupKey {

    /**
     * 组信息
     *
     * @param groupId 群 id
     * @return
     */
    public static String groupInfoKey(Object groupId) {
        return String.format("group:info:%s", groupId);
    }

    /**
     * 组成员
     *
     * @param groupId
     * @return
     */
    public static String groupMembersKey(Object groupId) {
        return String.format("group:members:%s", groupId);
    }

    /**
     * @param groupId
     * @title groupUserGroupRemarkKey
     * @description 获取对应组中用户的备注名称
     * @author quxinjun
     * @updateTime 2021/5/18 22:03
     * @return: java.lang.String
     */
    public static String groupUserGroupRemarkKey(Object groupId) {
        return String.format("group:remark:%s", groupId);
    }

    /**
     * @param groupId 组id
     * @title inactiveKey
     * @description 不活跃成员对象key
     * @author quxinjun
     * @updateTime 2021/5/26 10:59
     * @return: java.lang.String
     */
    public static String inactiveKey(Object groupId) {
        return String.format("group:inactive:%s", groupId);
    }

    /**
     * @param groupId 群组id
     * @title bannedGroupKey
     * @description 群组禁言集合
     * @author quxinjun
     * @updateTime 2021/5/27 20:28
     * @return: java.lang.String
     */
    public static String bannedGroupKey(Object groupId) {
        return String.format("group:banned:%s", groupId);
    }

    /**
     * @param groupId
     * @title bannedRedPacket
     * @description 禁止抢红包
     * @author quxinjun
     * @updateTime 2021/7/5 10:56
     * @return: java.lang.String
     */
    public static String bannedRedPacket(String groupId) {
        return String.format("group:bannedGrad:%s", groupId);
    }

    /**
     * @param groupId
     * @throws
     * @title groupAssistantToken
     * @description
     * @author quxinjun
     * @updateTime 2021/8/5 12:50
     * @return: java.lang.String
     */
    public static String groupAssistantToken(Object groupId) {
        return String.format("group:assistant:%s", groupId);
    }

    public static String addAuditKey(String groupId, String memberId) {
        return String.format("group:add:audit:%s:%s", groupId, memberId);
    }

    public static String addMemberKey(String groupId) {
        return String.format("group:add:members:%s", groupId);
    }

    public static String groupQRcodeKey(String groupId) {
        return String.format("group:QRcode:key:%s", groupId);
    }
}
